This invention relates to a robot apparatus including a body and a plurality of movable parts connected to the body and a motion controlling method for the robot apparatus, and particularly to a robot apparatus which includes a body and at least upper limb parts, lower limb parts and a trunk part as movable parts connected to the body and a motion controlling method for the robot apparatus.
More particularly, the present invention relates to a robot apparatus and a motion controlling method therefor wherein a motion of a movable part is controlled in accordance with a predetermined target locus and also controlled adaptively in response to a variation of an external environment such as external force, and more specifically to a robot apparatus and a motion controlling method wherein a motion of a movable part is controlled in accordance with a predetermined target locus and also controlled adaptively in response to a disturbance of a high frequency band.
A mechanical apparatus which performs movements similar to motions of a human being using mechanical or magnetic actions is called “robot”. It is said that the word “robot” originates from a word ‘ROBOTA’ (slave machine) of a Slavic language.
Here in Japan, robots began to be popularized at the end of the nineteen sixties. Most of them, however, were industrial robots such as manipulators or transport robots intended for automation and unmanning of manufacturing works in a factory. In recent years, research and development of legged mobile robots have proceeded, and expectation that they be placed into practical use is increasing. A legged mobile robot which models motions of a human being is particularly called human-like or humanoid robot.
Recently, research and development regarding legged mobile robots which copy body mechanisms and motions of animals which perform bipedal upright walking such as a human being or a monkey have proceeded, and also expectation that they be placed into practical use is increasing. Legged traveling in a bipedal upright form is disadvantageous in that the robot is unstable and difficult in posture control and walking control when compared with traveling of the crawler type or four- or six-legged traveling. However, the legged traveling in a bipedal upright form is superior in that a flexible traveling operation can be realized such that it can cope with a rough ground or a walking surface having some irregularities such as an obstacle on a traveling path or with a discontinuous walking face of a staircase or a ladder along which the robot must travel upwardly or downwardly.
A great number of proposals have been made for a technique for posture control or stable walking of a bipedal legged mobile robot. The stable “walking” here is defined as “traveling without stumbling through use of the legs”. Stumbling of the machine body signifies interruption of a work being performed, and considerable labor and time are required until the robot stands up uprightly from the stumbling state and resumes the work. Further, there is the possibility that the stumbling may critically damage the robot body and also damage a substance with which the stumbling robot collides. Therefore, posture stabilization control for preventing stumbling is considered as one of the most significant subjects in development of a legged mobile robot.
An ordinary upright posture as a basic posture of a robot which performs upright walking is unstable in the first place. In many cases, a ZMP (Zero Moment Point) is used as a criterion for discrimination of the stability of walking in posture stabilization control of a legged mobile robot. The stability discrimination criterion by a ZMP is based on the “d'Alembert's principle” that the gravity and inertial force which act from a walking system to the road surface and the moment of them are balanced with the floor reaction force as a reaction from the road surface to the walking system and the floor reaction force moment. As a consequence of mechanical inference, a point at which the pitch shaft moment and the roll shaft moment are zero, that is, a ZMP, is present on or on the inner side of a side of a supporting polygon (that is, a ZMP stable region) formed by the ground contacting points of the soles and the road surface. This is disclosed, for example, in Japanese Patent Laid-Open NO. 2002-210681 (document 1).
A motion of the machine body of a robot is implemented basically by driving of a joint actuator which joins links which are regarded substantially as rigid bodies. As described hereinabove, in a legged mobile robot wherein an ordinary upright posture as a basic posture is unstable, driving of joint actuators must be controlled with a higher degree of accuracy in order to achieve posture stabilization control.
Further, in order to allow a robot to maintain the stability in posture to prevent stumbling of the machine body thereof irrespective of an uneven situation of the road surface when the robot places its leg into contact with the road surface during walking or even when the robot is contacted with or collides with a substance in the outside world during working, a technique is demanded to rapidly drive a plurality of joint parts of a complicated configuration in an interlocking cooperative relationship in response to a variation of the external force. Also when a variation of an external environment which cannot be estimated readily such as when the robot sandwiches a foreign article or when a sudden temperature rise occurs with part of the machine body of the robot due to a failure of an actuator or some other component, in order to achieve reduction of damage or assurance of posture stabilization control of the robot, it is considered necessary to control driving of joint parts in a shorter cycle than that where a planned behavior is executed similarly.
However, in order to drive various joint parts rapidly in an interlocking relationship with each other in response to a variation of an external environment, it is significant to utilize a integrated control section for performing integrated control for a motion of the entire robot to rapidly calculate control instructions in accordance with the external environment and transmit the calculated control instructions to driving systems of the joint parts simultaneously and at a high speed.
Here, rapid driving of joint parts of such a robot apparatus having a conventional configuration as shown in FIG. 31 is examined. Referring to FIG. 31, a robot 110 is shown and includes a central control apparatus 111 serving as a integrated control section for performing integrated control for a motion of the entire robot 110 and an actuator 112 provided for each of a plurality of joint parts of the robot 110. In this instance, information regarding external force applied to each of the joint parts is transmitted to the central control apparatus 111, and the central control apparatus 111 calculates control instructions based on the received information. Then, the central control apparatus 111 transmits the calculated control instructions to the actuators 112 to drive the joint parts. Where the central control apparatus 111 and the actuators 112 are connected to each other individually by signal transmission cables 113, the processing circuit for calculating control instructions inevitably has a large scale, and besides, much time is required for calculation of control instructions and also for communication of the control instructions.
FIG. 32 diagrammatically shows an example of a control configuration of the conventional robot apparatus shown in FIG. 31. Referring to FIG. 32, a central control apparatus 120 transmits a control instruction such as a rotational position information or a motor control gain for a motor disposed for each of a plurality of actuators 121 through transmission lines 122 and 123 established by a signal transmission cable connected individually to the actuators 121. Further, information which is information representative of driving states of the actuators 121 when external force is applied such as rotational shaft positions of the motors and control instructions calculated newly by the central control apparatus 120 in response to the information 113 are communicated between the central control apparatus 120 and the actuators 121.
For example, if an inadvertent impact acts upon a joint part driven by an actuator disposed for a leg part, then in order to reduce damage to the joint part by the impact or secure the stability in posture control of the robot against the impact, the joint part and another adjacent joint part are driven in an interlocking relationship with each other to attenuate the impact so that the impact may not be imparted to the body of the robot. At this time, control instructions to the joint parts are transmitted to the individual joint parts through respective signal transmission cables from the central movement controller. Thereupon, in order to moderate the impact, it is significant to drive the joint parts rapidly after the impact acts.
FIG. 33 illustrates a conventional control flow for a robot apparatus. A robot having the structure shown in FIG. 32 is controlled in accordance with the control flow of FIG. 33. Referring to FIG. 33, after operation of the robot is started, the central control apparatus first calculates control instructions regarding a motion of the robot and transmits the control instructions to the actuators (step S131). Then, each of the actuators receives the pertaining control instruction (step S132) and drives the associated joint part in accordance with the control instruction. Thereupon, a displacement of the actuator representative of the position of the joint is measured by an associated sensor (step S133). Then, such displacements of the actuators measured by the associated sensors are fed back to the central control apparatus serving as an integrated control section (step S134). Then, the central control apparatus calculates new control instructions in response to the displacements of the actuators and transmits the new control instructions to the actuators. A sequence of operations for driving control is performed in this manner (refer to, for example, document 1 mentioned hereinabove).
However, where the central control apparatus calculates all control instructions regarding a motion of the robot, a heavy load is imposed on the central control apparatus. Particularly while it is demanded to form a integrated control section from a miniaturized processing circuit, it is difficult to increase the number of parameters to be used for a calculation process to calculate control instructions at a high speed in response to various state variations of the joint parts.
Further, if it is presumed to use the control flow illustrated in FIG. 33 to control a motion of a robot which has the structure shown in FIG. 31, then it is difficult to lay signal transmission cables for transmitting control instructions to the actuators for driving the joint parts from the central control apparatus serving as a integrated control section. Further, it is difficult to use only the central processing apparatus to rapidly calculate control instructions for attenuating inadvertent external force such as an impact and transmit the newly calculated control instructions at a high speed to the actuators.
In short, it is difficult to reduce the time required for communication of various kinds of information between the central control apparatus and the driving sections. Further, it is difficult to drive, after external force is applied, the joint parts to operate rapidly in an interlocking relationship with each other to moderate the external force to secure the stability in posture control of the robot and prevent otherwise possible damage to the robot by the external force.
In the conventional robot apparatus, the joint shafts are controlled directly by the central control apparatus. Therefore, where the robot apparatus is a multi-axis robot apparatus having a high degree of freedom, a calculation imposes a heavy burden on the central control apparatus. Therefore, it is difficult for the central control apparatus to respond on the real time basis, and the central control apparatus cannot cope with a sudden variation, for example, by a collision.
In other words, a technique is demanded by which various kinds of information can be communicated at a high speed in order to allow the actuators to be driven rapidly so that the joint parts may operate in an interlocking relationship with each other in response to a variation of an external environment such as external force without imposing an excessively heavy load to the central control apparatus serving as a integrated control section.
Since the conventional robot apparatus has a single hierarchy control structure, the processing is concentrated on the central control apparatus, and therefore, where multi-axis control is intended, there is a limitation to a high speed real time response. Therefore, it is considered that the conventional robot apparatus has the following problems.
(1) Since the central control apparatus executes control of all shafts on the real time basis, high speed communication and high speed calculation processing are required, and therefore, a large circuit scale is required for the central control apparatus.
(2) Since both of reflex movement control of a terminal end and movement control of the entire robot apparatus are processed in an equal control cycle, the performance is poor.
Further, the conventional robot apparatus has no degree of freedom at the soles thereof, and each sole has a rubber member adhered to a flat face thereof to cope with an uneven road surface and secure friction to eliminate an otherwise possible slip. Further, although a structure that a degree of freedom of a toe is provided for the sole is available, the sole cannot move in response to an uneven configuration of the ground surface. Therefore, the robot apparatus has a problem that it is unstable particularly on a convex ground surface and cannot maintain its posture but may stumble. In other words, the robot apparatus has a limitation to a response thereof to a collision which occurs when the sole is brought into contact with a rough road surface upon walking, and cannot make a reflex movement of a terminal end thereof.
Conventionally, it has been attempted to introduce a concept of reflex into a control mechanism for a robot apparatus. However, most of such attempts are directed to examination only of the algorithm but not to the signal processing or the configuration of a control system. In the processing and control system configuration in this instance, a higher order processing system which takes charge of behavior planning of the robot controls movements of actuators. However, a reflex is simulated only in the higher order processing system but is different from an involuntary reflex as in the case of an animal.
Legged mobile robots are examined also in Miomir Vukobratovic, “LEGGED LOCOMOTION ROBOTS” (Ichiro Kato, “Walking Robots and Artificial Feet”, (Daily Industrial Newspaper Company)).